(Co)recursion in Logic Programming: Lazy vs Eager
نویسندگان
چکیده
Coalgebraic Logic Programming (CoALP) is a dialect of Logic programming designed to work with coinductive definitions of infinite objects. Its main goal is to introduce guarded lazy corecursion akin functional theorem provers into logic programming. In this paper, we give the first full formal account of guarded corecursion in CoALP, and present its implementation.
منابع مشابه
Hybrid eager and lazy evaluation for efficient compilation of Haskell
The advantage of a non-strict, purely functional language such as Haskell lies in its clean equational semantics. However, lazy implementations of Haskell fall short: they cannot express tail recursion gracefully without annotation. We describe resource-bounded hybrid evaluation, a mixture of strict and lazy evaluation, and its realization in Eager Haskell. From the programmer’s perspective, Ea...
متن کاملSDSAT: Tight Integration of Small Domain Encoding and Lazy Approaches in Solving Difference Logic
Existing difference logic (DL) solvers can be broadly classified as eager or lazy, each with its own merits and de-merits. We propose a novel difference logic solver SDSAT that combines the strengths of both these approaches and provides a robust performance over a wide set of benchmarks. The solver SDSAT works in two phases: allocation and solve. In the allocation phase, it allocates non-unifo...
متن کاملA Tale of Two Solvers: Eager and Lazy Approaches to Bit-Vectors
The standard method for deciding bit-vector constraints is via eager reduction to propositional logic. This is usually done after first applying powerful rewrite techniques. While often efficient in practice, this method does not scale on problems for which top-level rewrites cannot reduce the problem size sufficiently. A lazy solver can target such problems by doing many satisfiability checks,...
متن کاملEager Comprehensions in Scheme The design of SRFI 42
This article is about a certain style of programming iterative programs. It is based on a concept we have named “eager comprehension,” which is a convenient and efficient alternative to tail recursion, do-loops, and lazy list comprehensions (aka “ZF expressions”). Eager comprehensions are syntactic forms that encapsulate the details of an accumulation process (counting elements, creating a list...
متن کاملA Rewriting Logic for Declarative Programming
Abst rac t . We propose an approach to declarative programming which integrates the functional and relational paradigms by taking possibly non-deterministic lazy functions as the fundamental notion. Programs in our paradigm are theories in a constructor-based conditional rewriting logic. We present proof calculi and a model theory for this logic, and we prove the existence of free term models w...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014